import java.util.HashMap;
import java.util.Map;
import java.util.Stack;

public class Test1110 {
    public boolean isvalid(String s){
        if (s.isEmpty()){
            return true;
        }
        if (s.length()%2 != 0){
            return false;
        }
        Stack<Character> stack = new Stack<>();
        Map<Character,Character> bracketMep = new HashMap<>();
        bracketMep.put('(',')');
        bracketMep.put('[',']');
        bracketMep.put('{','}');
        for(char c :s.toCharArray()){
            if (bracketMep.containsKey(c)){
                stack.push(bracketMep.get(c));
            }
            else {
                if (stack.isEmpty()||stack.pop()!=c){
                    return false;
                }
            }
        }
        return stack.isEmpty();
    }
    }
//   public int coountSegment(String s){
//       int len = s.length();
//       if(len == 0){
//           return 0;
//       }
//       int count = 0;
//
//       String [] ss = s.split(" ");
//       for (String r : ss){
//           if(r.length() != 0){
//               count ++;
//           }
//       }
//       return count;
//   }

